<?php

namespace app\modules\cruise\models;

use Yii;

/**
 * This is the model class for table "room".
 *
 * @property int $id
 * @property string $cruise_id 游轮编号
 * @property string $name 名称
 * @property string $code 简码
 * @property int $windows 1 无窗 2 有窗
 * @property string $area 客房面积
 * @property string $num 入住人数 
 * @property string $ceil 所在楼层 JSON [1,2,4,5]
 * @property string $desc 描述
 * @property int $status 1正常  2禁用
 * @property int $user_id 管理员编号
 * @property string $created_at
 * @property string $updated_at
 * @property int $balcony 1 有阳台 2 无阳台
 * @property string $balcony_area 阳台面积
 * @property int $type 1内仓2海景3阳台4套房 5其它
 * @property int $min 最少入住人数
 */
class Room extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'room';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['cruise_id'], 'required'],
            [['windows', 'status', 'user_id', 'balcony', 'type', 'min'], 'integer'],
            [['created_at', 'updated_at','ceil'], 'safe'],
            [['cruise_id'], 'string', 'max' => 11],
            [['name'], 'string', 'max' => 128],
            [['code', 'area', 'num', 'balcony_area'], 'string', 'max' => 16],
            [['desc'], 'string', 'max' => 512],
        ];
    }

     // 保存前处理
    public function beforeSave($insert) {//{{{
        if($insert){
            $this->created_at = date("Y-m-d H:i:s");
            $this->user_id    = Yii::$app->user->id;
        }

        if(is_array($this->ceil)){
            $this->ceil = json_encode($this->ceil);
        }
        return parent::beforeSave($insert);
    }//}}}


    //  获取对应游轮   
    public function getCruise(){
        return $this->hasOne(Cruise::className(), ['id' => 'cruise_id']);
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'cruise_id' => '游轮',
            'name' => '名称',
            'code' => '简码',
            'windows' => '窗户',
            'area' => '面积',
            'num' => '最大入住人数',
            'ceil' => '楼层',
            'desc' => '描述',
            'status' => '状态',
            'user_id' => 'User ID',
            'created_at' => '创建时间',
            'updated_at' => '更新时间',
            'balcony' => '阳台',
            'balcony_area' => '阳台面积',
            'type' => '舱房类型',
            'min' => '最小入住人数',
        ];
    }
}
